home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / pc_board / grafd211.zip / GRAF-D.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1993-05-27  |  5KB  |  244 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 1.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Integer  INTEGER001
  24.     Integer  INTEGER002
  25.     String   STRING001
  26.     String   STRING002
  27.     String   STRING003
  28.     String   STRING004
  29.     String   STRING005
  30.     String   STRING006
  31.     String   STRING007
  32.     String   STRING008
  33.     String   STRING009
  34.     String   STRING010
  35.     String   STRING011
  36.     String   STRING012
  37.     String   STRING013
  38.     String   STRING014
  39.     String   STRING015
  40.  
  41. ;------------------------------------------------------------------------------
  42.  
  43.     STRING003 = ""
  44.     STRING007 = Chr(8) + Chr(32) + Chr(8)
  45.     INTEGER002 = 50
  46.     STRING008 = Chr(27)
  47.     STRING009 = Chr(13) + Chr(10)
  48.     STRING003 = GetToken()
  49.     While (STRING003 <> "") Do
  50.         Select Case (Mid(Upper(STRING003), 2, 1))
  51.             Case "W"
  52.                 INTEGER002 = Mid(STRING003, InStr(STRING003, ":") + 1, 2)
  53.                 If ((INTEGER002 < 1) || (INTEGER002 == "")) INTEGER002 = 50
  54.             Case "C"
  55.                 BOOLEAN004 = 1
  56.             Case "A"
  57.                 STRING015 = 1
  58.         End Select
  59.         STRING003 = GetToken()
  60.     EndWhile
  61.     STRING003 = ""
  62.     PrintLn "Testing your system capability..."
  63.     If (OnLocal()) Then
  64.         BOOLEAN001 = 1
  65.     Else
  66.         Print STRING008 + "[!"
  67.         Print STRING007 + STRING007 + STRING007
  68.         Print STRING008 + " F"
  69.         Print STRING007 + STRING007 + STRING007
  70.         Print STRING008 + "[6n"
  71.         Print STRING007 + STRING007 + STRING007 + STRING007
  72.         STRING003 = Chr(MGetByte())
  73.         While ((STRING003 == "") && (INTEGER001 <= INTEGER002)) Do
  74.             STRING003 = Chr(MGetByte())
  75.             If (STRING003 <> "") Then
  76.                 BOOLEAN003 = 1
  77.                 Continue
  78.             Endif
  79.             Delay 2
  80.             INTEGER001 = INTEGER001 + 2
  81.         EndWhile
  82.         Select Case (STRING003)
  83.             Case "R"
  84.                 While ((STRING003 <> "") || (Len(STRING005) < 9)) Do
  85.                     STRING005 = STRING005 + STRING003
  86.                     STRING003 = Chr(MGetByte())
  87.                     If (STRING003 == "") Then
  88.                         Delay 2
  89.                         STRING003 = Chr(MGetByte())
  90.                     Endif
  91.                 EndWhile
  92.                 If (Left(STRING005, 3) == "RIP") Then
  93.                     BOOLEAN002 = 1
  94.                     BOOLEAN001 = 1
  95.                 Endif
  96.             Case STRING008
  97.                 While (STRING003 <> "") Do
  98.                     STRING005 = STRING005 + STRING003
  99.                     STRING003 = Chr(MGetByte())
  100.                     If (STRING003 == "") Then
  101.                         Delay 2
  102.                         STRING003 = Chr(MGetByte())
  103.                     Endif
  104.                 EndWhile
  105.                 Tokenize STRING005
  106.                 STRING003 = GetToken()
  107.                 STRING003 = Mid(STRING003, 2, Len(STRING003 - 1))
  108.                 If (((STRING003 >= 0) || (STRING003 <= 80)) && (Right(GetToken(), 1) == "R")) Then
  109.                     BOOLEAN001 = 1
  110.                     Goto LABEL001
  111.                 Endif
  112.                 BOOLEAN001 = 0
  113.             Endif
  114.     End Select
  115.     :LABEL001
  116.     STRING002 = "Do you want graphics (Enter)="
  117.     STRING004 = ReadLine(PCBDat(), 257)
  118.     If (STRING004) Then
  119.         STRING006 = ReadLine(PCBDat(), 179)
  120.         SPrintLn 
  121.         SPrintLn "┌───────────────────────────────────────────────────────────────────┐"
  122.         SPrintLn "│ Your system is improperly configured for use with the GRAF-D.PPE  │"
  123.         SPrintLn "│ file.  You have configured it to default to Yes for the 'Do you   │"
  124.         SPrintLn "│ want graphics' prompt.  You need to change that setting to 'N' in │"
  125.         SPrintLn "│ PCBSetup | Configuration Options | Configuration Switches.        │"
  126.         SPrintLn "└───────────────────────────────────────────────────────────────────┘"
  127.         SPrintLn 
  128.         Print "Do you want graphics (Enter)=no"
  129.         End
  130.     Endif
  131.     If (BOOLEAN001) Then
  132.         If (BOOLEAN002) Then
  133.             If (BOOLEAN004) Then
  134.                 PrintLn STRING009 + STRING008 + "[45;30m▓▒░" + STRING008 + "[37;1m     RIPscrip detected and it will be the default    " + STRING008 + "[0m" + STRING008 + "[45;30m ░▒▓" + STRING008 + "[0m"
  135.             Else
  136.                 STRING002 = STRING002 + "RIPscrip"
  137.             Endif
  138.         ElseIf (BOOLEAN004) Then
  139.             PrintLn STRING009 + STRING008 + "[45;30m▓▒░" + STRING008 + "[37;1m     ANSI detected and it will be the default    " + STRING008 + "[0m" + STRING008 + "[45;30m ░▒▓" + STRING008 + "[0m"
  140.         Else
  141.             STRING002 = STRING002 + "yes"
  142.         Endif
  143.         If (BOOLEAN004) STRING002 = STRING002 + "default"
  144.     Else
  145.         If (BOOLEAN004) Then
  146.             PrintLn STRING009 + "[* No graphics capabilities detected.  This will be the default *]"
  147.             STRING002 = STRING002 + "default"
  148.         Else
  149.             STRING002 = STRING002 + "no"
  150.         Endif
  151.     Endif
  152.     If ((STRING015 && !BOOLEAN001) || !STRING015) Then
  153.         InputStr STRING002, STRING001, 7, 6, "QSR", 2 + 128 + 256 + 16 + 8 + 16384
  154.         If ((STRING001 == "") && !BOOLEAN001) STRING001 = NoChar()
  155.         If (InStr(STRING001, "NS")) Then
  156.             STRING010 = "NS"
  157.             STRING001 = Left(STRING001, InStr(STRING001, "NS") - 1) + Right(STRING001, Len(STRING001) - InStr(STRING001, "NS") + 1)
  158.         Endif
  159.         If (InStr(STRING001, YesChar())) STRING012 = YesChar() + ";"
  160.         If (InStr(STRING001, NoChar())) STRING014 = NoChar() + ";"
  161.         If (InStr(STRING001, "Q")) STRING011 = "Q;"
  162.         If (InStr(STRING001, "R")) STRING013 = "R;"
  163.     Endif
  164.     If ((BOOLEAN002 && (STRING014 == "")) && (STRING012 == "")) Then
  165.         STRING013 = "R;"
  166.     ElseIf ((BOOLEAN001 && (STRING014 == "")) && (STRING013 == "")) Then
  167.         STRING012 = YesChar() + ";"
  168.     Endif
  169.     If ((STRING013 <> "") && (STRING012 <> "")) STRING013 = ""
  170.     If ((STRING013 <> "") && (STRING014 <> "")) STRING013 = ""
  171.     If ((STRING012 <> "") && (STRING014 <> "")) STRING012 = ""
  172.     KbdStuff STRING013 + STRING012 + STRING014 + STRING011 + STRING010
  173.     End
  174.  
  175. ;------------------------------------------------------------------------------
  176. ;
  177. ; Usage report (before postprocessing)
  178. ;
  179. ; ■ Statements used :
  180. ;
  181. ;    2       End
  182. ;    41      Goto 
  183. ;    49      Let 
  184. ;    7       Print 
  185. ;    4       PrintLn 
  186. ;    35      If 
  187. ;    1       InputStr 
  188. ;    3       Delay 
  189. ;    1       Tokenize 
  190. ;    1       KbdStuff 
  191. ;    8       SPrintLn 
  192. ;
  193. ;
  194. ; ■ Functions used :
  195. ;
  196. ;    57      +
  197. ;    3       -
  198. ;    16      ==
  199. ;    10      <>
  200. ;    2       <
  201. ;    2       <=
  202. ;    1       >=
  203. ;    28      !
  204. ;    11      &&
  205. ;    4       ||
  206. ;    3       Len(
  207. ;    3       Upper()
  208. ;    5       Mid()
  209. ;    2       Left()
  210. ;    2       Right()
  211. ;    12      Chr()
  212. ;    8       InStr()
  213. ;    3       NoChar()
  214. ;    3       YesChar()
  215. ;    2       PCBDat()
  216. ;    2       ReadLine()
  217. ;    1       OnLocal()
  218. ;    4       GetToken()
  219. ;    6       MGetByte()
  220. ;
  221. ;------------------------------------------------------------------------------
  222. ;
  223. ; Analysis flags : d
  224. ;
  225. ; d - Access PCBOARD.DAT ■ 2
  226. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  227. ;     for many PPE so they can find various informations on the system
  228. ;     (system paths, max number of lines in messages, ...) but it may also
  229. ;     be a way to gather vital informations.
  230. ;     ■ Search for : PCBDAT()
  231. ;
  232. ;------------------------------------------------------------------------------
  233. ;
  234. ; Postprocessing report
  235. ;
  236. ;    0       For/Next
  237. ;    4       While/EndWhile
  238. ;    16      If/Then or If/Then/Else
  239. ;    2       Select Case
  240. ;
  241. ;------------------------------------------------------------------------------
  242. ;                 AEGiS Corp - Break the routines, code against the machines!
  243. ;------------------------------------------------------------------------------
  244.